﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace OrganizationStructureTree.Areas.Default.Models.ViewModels
{
    public class RegisterViewModel
    {
        [Required]
        [Display(Name = "Электронный адрес")]
        [DataType(DataType.EmailAddress, ErrorMessage = "Не верный электронный адрес")]
        public string Email { get; set; }

        [Required]
        [Display(Name = "Имя пользователя")]
        public string FirstName { get; set; }

        [Required]
        [Display(Name = "Фамилия пользователя")]
        public string LastName { get; set; }

        [Required]
        [Display(Name = "Отчество пользователя")]
        public string MiddleName { get; set; }

        [Required]
        [Display(Name = "Телефон пользователя")]
        [DataType(DataType.PhoneNumber, ErrorMessage = "Не верный номер телефона")]
        public string Phone { get; set; }

        [Required]
        [Display(Name = "Место работы")]
        public string Company { get; set; }

        [Required]
        [Display(Name = "Департамент")]
        public string Department { get; set; }

        [Required]
        [Display(Name = "Проект")]
        public string Project { get; set; }

        [Required]
        [Display(Name = "Позиция")]
        public string Position { get; set; }


        [Required]
        [Display(Name = "Менеджер")]
        public string Manager { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "Значение \"{0}\" должно содержать не менее {2} символов.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Пароль")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Подтверждение пароля")]
        [Compare("Password", ErrorMessage = "Пароль и его подтверждение не совпадают.")]
        public string ConfirmPassword { get; set; }
        
        [DataType(DataType.Upload)]
        public HttpPostedFileBase ImageFile { get; set; }
        
    }
}